package com.faf.dao;

import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;

import com.faf.bean.Food;

public interface FoodDao extends BaseDao {

	public void addNewFood(Food food) throws SQLException;

	public HashSet<String> getFoodTypes() throws SQLException;

	public ArrayList<Food> getFoodByType(String type) throws SQLException;

	public ArrayList<Food> getFoodByType(String type, int currentPage, int pageTotal) throws SQLException;

	public Food getFoodByFoodID(int foodId) throws SQLException;

	public ArrayList<Food> getFoodByStoreID(int storeId) throws SQLException;

	public ArrayList<Food> getFoodByStoreID(int storeId, int currentPage, int pageTotal) throws SQLException;

	public ArrayList<Food> getFoods() throws SQLException;

	public ArrayList<Food> getFoodsByLike(String info) throws SQLException;

	public ArrayList<Food> getFoodsByLike(String info, int currentPage, int pageTotal) throws SQLException;

	public void updateFoodByFoodID(Food food) throws SQLException;

	public void deleteFoodByFoodID(int foodId) throws SQLException;
	
	public void setFoodValidByFoodId(int foodId, boolean isValid) throws SQLException;

	public int getFoodCount() throws SQLException;

	public int getFoodCountByLike(String info) throws SQLException;

	public int getFoodCountByType(String type) throws SQLException;

	public List<Food> getFoodListByStoreId(int storeId) throws SQLException;

	public int getAllFoodRecordByStoreId(int storeId) throws SQLException;

	public int getAllFoodRecordByFoodType(String foodType) throws SQLException;

	public ArrayList<Food> getFoodByFoodPrice(String foodType, int currentPage, int pageTotal) throws SQLException;
}
